package pattern.state.model;

public class Car {
	
	
	/*
	 * All possible states
	 */
	private Gear neutral = new Neutral(this);
	private Gear firstGear = new FirstGear(this);
	private Gear secondGear = new SecondGear(this);
	private Gear thirdGear = new ThirdGear(this);
	private Gear fourthGear = new FourthGear(this);
	private Gear fifthGear = new FifthGear(this);
	private Gear reverse = new Reverse(this);
	
	private String text;

	
	/*
	 * initial state
	 */
	private Gear state = neutral;
	
	public Gear getNeutral() {
		return neutral;
	}

	public Gear getFirstGear() {
		return firstGear;
	}

	public Gear getSecondGear() {
		return secondGear;
	}

	public Gear getThirdGear() {
		return thirdGear;
	}

	public Gear getFourthGear() {
		return fourthGear;
	}

	public Gear getFifthGear() {
		return fifthGear;
	}

	public Gear getReverse() {
		return reverse;
	}

	public void setState(Gear state){
		this.state = state;
	}
	
	public Gear getState(){
		return state;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getText() {
		return text;
	}
}
